package 算法练习;

/**
 * @author： li
 * @date： 2022-01-11 14:33
 * @version 1.0
 */
/*资源限制
时间限制：1.0s   内存限制：256.0MB
　　编写一个函数void strcompress(char *s)，输入一个字符串（只包含小写字母和空格，且长度小于1000），然后采用如下的规则对该字符串当中的每一个字符进行压缩：
　　（1） 如果该字符是空格，则保留该字符。
　　（2） 如果该字符是第1次出现或第3次出现或第6次出现，则保留该字符。
　　（3） 否则，删除该字符。
　　例如，若用户输入occurrence，经过压缩后，字符c的第2次出现被删除，第1和第3次出现仍保留；字符r和e的第2次出现均被删除，因此最后的结果为：ocurenc。
　　编写main函数测试该函数的正确性。

输入：
　　occurrence

输出：
　　ocurenc
 */
import java.util.HashSet;
import java.util.Scanner;
public class p0804_字符串压缩_循环 {
    static void strcompress(String s){
        int i=0;
        char compare;
        char[] c = s.toCharArray();
        StringBuilder sb= new StringBuilder();//存储着全部出现过的字符
        StringBuilder sb_c = new StringBuilder();//存储原字符
        HashSet<Character> sites = new HashSet<>();//

        sb_c.append(s);
        for(int j=1;j<s.length();j++)
            if(sites.add(c[j-1]))
                sb.append(c[j-1]);

//        System.out.println(sb.toString());
        sites.clear();
        int len = sb_c.length();
        for(int k=0;k<sb.length();k++){
            compare=sb.charAt(k);
            if(sb.charAt(k)==' ') continue;
            for(int l=0;l<len;l++){
                    if (sb_c.charAt(l) == compare){
                        i++;
                        if (i!=1&&i!=3&&i!=6) {
                            sb_c.replace(l, l + 1, "0");
                        }
                    }
            }
            i=0;
        }
        for(int q=0;q<len;q++){
            if(sb_c.charAt(q)!='0')
                System.out.print(sb_c.charAt(q));
        }
    }
    public static void main(String[] args) {
        String input;
        Scanner sc =new Scanner(System.in);
        input = sc.nextLine();
        strcompress(input);
    }
}
